专利摘要:
A method and system for searching files in the Internet includes sending signals indicating sets of files to individual client computer systems. The individual client computer systems perform searches of the sets of files and respond by sending signals representing the results of the search back to the primary or central computer system. The primary computer system can also send signals to the individual computer system indicating changes or updates in the files of interest to the users of the individual client computer systems. The sets of files are selected based on predetermined criteria including whether the files previously contained information of interest to a user of the client computer system, whether the files were recently searched, whether the files are proximate to the client computer system in the network and whether a time predicted to receive the file is more than a predetermined amount of time. Computer-executable instructions are uploaded to the client computer systems so that they can perform the search. The primary computer system includes an index of information previously contained in selected files in the network and a broker which updates the index database. The primary computer system also includes a relevance engine containing relevance criteria for users such that the relevance engine determines whether updates made to the index database satisfy relevance criteria of corresponding users, and if so, sends a signal to the corresponding users indicating the updates which satisfy their relevance criteria.
公开号:CA2311746A1
申请号:C2311746
申请日:2000-06-15
公开日:2001-08-23
发明作者:John Douglas Henson;Cory Efram Doctorow;Erik Viljo Stewart;Wilson Grad Conn
申请人:STEELBRIDGE Inc;
IPC主号:H04L12-16
专利说明:
[1" class="description-paragraph] METHOD AND APPARATUS FOR DISTRIBUTED SEARCHING FIELD OF THE INVENTION This invention relates generally to search engines for searching files in a network. More particularly, the present invention relates to search engines for searching files on Web servers that are located on the Internet. BACKGROUND OF THE INVENTION Usage of the Internet is becoming increasingly popular. Typically, a user accesses the Internet from the user's system, which will be referred to as the client computer system. The client computer system generally runs a Web browser which includes software that enables the client computer system to communicate with Web servers on the Internet. In most cases, a user on the Internet will send a request from the user's client computer to a Web server computer that is located on the Internet. The request identifies a file on the Web server that the user wishes to access. In response to the request from the user, the Web server returns a copy of the file which the user has requested. However, as the Internet has gained in popularity, the number of servers on the Internet has increased dramatically. This makes it difficult for users to determine which servers
[2" class="description-paragraph] 2 has information that is relevant to them. In addition, the information, and other services, offered by the servers on the Internet is continuously changing. In addition, servers may change or update files on the Web server which contain the relevant information the user is requesting. In order to assist users in locating information on the Internet that is of interest to them, search engines have been provided to search for key words in files stored on Web servers located on the Internet. Search engines which search across many files on Web sites or Web servers are sometimes referred to as ~~spiders". The search engines or spiders gather information regarding the files and store this information in databases that users can search according to key words. Examples of these types of search engines are Lycos and Excite. However, while existing search engines provide some assistance to users in locating the files which may contain information of interest to the user, these search engines suffer from the disadvantage that there is a time lag between the time a file or new Web site is available on a Web server initially connected to the Internet and the time that the search engines will have searched the new files on the Web server. As usage of the Internet increases and the number of files and Web servers on the Internet increases, search engines can fall ever-increasingly behind searching the files. This provides the result that search engines do not accurately reflect the information that is currently available on the Web servers on the Internet at present, but rather reflect the
[3" class="description-paragraph] 3 information that was available on the Web servers on the Internet many months in the past. Moreover, in addition to the problem of searching new files available on the Internet on a daily basis, it is also necessary to update the relevant information previously gathered and stored regarding existing files on existing Web servers. It is clear that the information contained in the files or Web servers on the Internet can change daily or even hourly in some cases. As such, information stored on a database may become out of date or stale within a few days, or a few hours. Accordingly, in addition to the difficulty prior art search engines have in searching new files being added to the Internet each day, search engines must also continuously update their databases with respect to the information previously acquired regarding existing files on existing Web servers. Accordingly, there is a need in the art for a search engine and a method of searching files, such as files on Web servers located on the Internet which can keep up with the pace at which the number of files on the Internet is increasing. Moreover, there is a need in the art for a search engine that can timely search existing files on Web servers to keep a current database reflecting the information presently available in files on Web servers located on the Internet.
[4" class="description-paragraph] 4 SUMMARY OF THE INVENTION Accordingly, it is an object of this invention to at least partially overcome the disadvantages of the prior art. Also, it is an object of this invention to provide an improved type of search engine to search files on Web servers located on the Internet. Furthermore, it is an object of this invention to provide a search engine which can accommodate the pace at which the Internet is growing, as well as provide a substantially current representation of the files and information available on the Internet. Accordingly, in one aspect, the invention provides a method for searching files in a network, said network having a primary computer system and a plurality of client computer systems connected thereto, said method comprising the steps of: said primary computer system sending a first signal to at least one of the plurality of computer systems, said first signal indicating a set of files; said at least one of the plurality of client computer systems searching the set of files indicated by the first signal and sending a second signal to the primary computer system indicative of information obtained from the search of the set of files; and said primary computer system receiving the second signal and updating a database having stored thereon information regarding the files in the network based on the second signal.In a further aspect, the present invention resides in a system for searching files in a network, said network having a plurality of client computer systems connected thereto, said system for searching comprising: a connection to the network for sending and receiving signals to and from said plurality of computer systems; an index database having an index of
[5" class="description-paragraph] 5 information previously contained in selected files in the network; a foreman for selecting sets of files based on predetermined criteria and sending signals to the connection indicative of the selected sets of files; wherein said foreman selects a first set of files based on the predetermined criteria and sends a first signal indicative of the first set of files to the connection; wherein the connection sends the first signal to at least one of the plurality of computer systems; wherein the at least one of the plurality of computer systems receives the first signal, searches the first set of files and sends to the connection a second signal indicative of information obtained from the search; and wherein the connection receives the second signal and the index database is updated based on information contained in the second signal. One advantage of the present invention is that it provides a search engine that distributes the computational workload necessary to search servers on the Internet. This provides the ability to perform faster searching of new files added to Web servers located on the Internet. This also provides the ability to provide a substantially current representation of the files on existing Web servers. A further advantage of the present invention is that the searching of Internet sites is performed by users on the
[6" class="description-paragraph] 6 Internet. Accordingly, as the number of users on the Internet increases, there is a corresponding increase in the users. As such, the method and apparatus for searching the present invention is inherently able to accommodate the growth on the Internet in that the computational power to search the Internet is directly proportional to the number of users on the Internet. A still further advantage of the present invention is that the files being searched on the Internet can be customized for the interests of the users. In this way, the client computer systems performing the searching of the Internet will primarily search files of interest to the user whose computer system is performing the search. This provides the advantage that servers having information most relevant to the users will be searched most frequently. This further provides the advantage that the particular user whose client computer system is performing the search can have access to the results of the search substantially immediately. In this way, the users will be motivated to permit their client system to be used to search the Internet. Further aspects of the invention will become apparent upon reading the following detailed description and drawings which illustrate the invention and preferred embodiments of the invention.
[7" class="description-paragraph] 7 BRIEF DESCRIPTION OF THE DRAWINGS In the drawings, which illustrate embodiments of the invention: Figure 1 is a schematic drawing illustrating the connection of the main computer system, the brokers, the individual client computer systems and individual servers to a network; Figure 2 is a schematic diagram showing the components in the main computer system; and Figure 3 is a flow chart showing a method of searching files on a network according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Figure 1 is a schematic drawing illustrating a network, shown generally by reference numeral 8, in which the present invention can operate. Figure 1 shows a preferred embodiment where the network 8 is the Internet I, however, it is understood that the invention is not restricted to use with the Internet I, but rather the present invention can be used in any type of network 8. Connected to the network 8 are a plurality of client computer systems 14. The reference numeral 14 will be used to refer to the plurality of client computer systems and the
[8" class="description-paragraph] 8 individual reference numerals 14a to 14d will be used to designate specific client computer systems within the plurality of computer systems 14. The network 8 also comprises a plurality of servers, which are shown individually by reference numeral 6a, 6b. Reference numeral 6 will be used to refer to the servers as a group. Files, shown generally by reference numeral 2, are in the network 8. It is understood that files 2 in the network 8 will generally be stored on one of the servers 6 connected to the network 8. However, files 2 may be stored in other locations, such as possibly in one of the plurality of client computer systems 14. In other words, a file 2 is considered in the network 8 if it can be accessed by computer systems 6, 12 and 14 through the network 8, regardless of where or the manner in which the file 2 may actually be stored. In one preferred embodiment, as shown in Figure 1, where the network 8 is the Internet I, the servers 6 will be Web servers 6 located on the Internet I and the files 2 will be stored on the Web servers 6. In addition, it would be possible to identify each of the files 2 on the Internet I by means of a Uniform Resources Locator (URL) of the file 2. The plurality of client computer systems 14 will generally comprise the elements which are required to connect to the network.8 and send to and receive information and signals through the network 8. In particular, the client
[9" class="description-paragraph] 9 computer system 14 will comprise a connection to the network 8 for sending and receiving signals, a processor, memory for storing information and some type of output device such as a printer, video monitor or other output device. In the embodiment where the network 8 is the Internet I, the client computer system 14 will also comprise a Web browser. Likewise, the servers 6 will comprise the components required to connect to the network 8 in order to send and receive information and signals. The servers 6 will also comprise output devices and memory to store the files 2. In the embodiment of the invention as shown in Figure 1, a primary computer system 12 is also connected to the network 8. The primary computer system 12 comprises a connection 18 to connect the primary computer system 12 to the network 8. The primary computer system 12 shown in Figure 1 also comprises an index database 16 having stored thereon an index of information previously contained in selected files 2 in the network 8. The primary computer system 12 preferably further comprises a broker 20 which is connected to the index database 16 and the connection 18 for receiving signals and updating the index database 16. In a preferred embodiment, the primary computer system 12, as shown in Figure 1, also comprises a foreman 22. The foreman 22 selects sets of files from the index database 16 based on predetermined criteria. The primary computer system 12 also preferably comprises a relevance engine 24. The relevance engine 24 is connected to the broker 20 and the connection 18 and has stored thereon relevance criteria for corresponding users of some of the plurality of computer systems 14. In operation, the primary computer system 12 sends a 5 first signal S1 to at least one 14a, 14b, 14c, 14d of the plurality of computer systems 14. The first signal S1 indicates a set of files preferably selected by the foreman 22 based on the predetermined criteria. The connection 18 sends the first signal S1 indicating the set of files selected by the
[10" class="description-paragraph] 10 foreman 22 to at least one computer system 14, which for purposes of illustration, will be considered computer system 14a of the plurality of computer systems 14. The at least one 14a of the plurality of computer systems 14 will then receive the first signal S1 which is indicative of the set of files selected by the foreman 22. The computer system 14a will then search the set of files indicated by the first signal S1. The set of files can comprise any files 2 in the network 8. Once the computer system 14a has completed the search of the set of files, the computer system 14a generates and sends a second signal SZ to the primary computer system 12 through the network 8. The second signal SZ is indicative of information obtained by the computer system 14a from the search of the set of files. The primary computer system 12 receives the second signal S2 by means of the connection 18. The connection 18 then sends information based on the second signal SZ to the broker 20 and
[11" class="description-paragraph] 11 the broker 20 updates the index database 16 based on the information contained in the second signal S2. After the index database 16 has been updated, the primary computer system 12 determines what information in the index database 16 was updated by the second signal S2. This is generally done by the broker 20 while it is updating the index database 16. The primary computer system 12 then sends a third signal S3 indicative of the information in the index database 16 which was updated by the second signal S2. The third signal S3 can be sent to each of the plurality of computer systems 14, or, it can be sent to each of the plurality of computer systems 14 having previously indicated an interest in the information regarding files 2 which were updated. To accomplish this, in a preferred embodiment, the primary computer system 12 utilizes the relevance engine 24 which is connected to the broker 20 and receives information contained in the second signal SZ from the broker 20. The relevance engine 24 contains relevance criteria for corresponding users of some of the plurality of computer systems 14. The relevance engine 24 receives from the broker 20 the information contained in the second signal S2 and compares this information to the relevance criteria. The relevance engine 24 then determines which of the updates contained in the second signal SZ satisfy relevance criteria for corresponding users. The relevance engine 24 then generates third signals S3 indicative of the updates made to the index database 16 which
[12" class="description-paragraph] 12 satisfy the relevance criteria for the corresponding user. Generally, the relevance engine 24 will generate a specific third signal S3 for each corresponding user for which one of the updates made by the broker 20 to the index database 16 satisfies the relevance criteria. The third signal S3 indicates the updates made to the index database 16 which satisfy the relevance criteria for the corresponding user. For example, Figure 1 shows a third signal S3a destined for computer system 14a and a third signal S3~ destined for computer system 14c. The third signal S3a destined for computer system 14a will indicate the updates made by the broker 20 to the index database 16 which satisfy relevance criteria for one of the users of computer system 14a. Likewise, the third signal S3C destined for computer system 14c will indicate the updates made by the broker 20 to the index database 16 which satisfy relevance criteria for one of the users of computer system 14c. If none of the updates made to the index database 16 satisfies a relevance criteria for a corresponding user, no third signal S3 will be generated for that particular user. For example, in Figure 1, no third signal S3 is sent to the computer system 14b which results if none of the updates satisfied relevance criteria for a user of system 14b. Likewise, if based on the information contained in the second signal S2, the broker 20 does not make any updates to the index database 16, then no third signal S3 will be sent to any user. In a preferred embodiment, the computer system 14a will perform the search only when it has available resources. In
[13" class="description-paragraph] 13 other words, the computer system 14a will receive the first signal Sl and store the first set of files indicated by the first signal S1 until the computer system 14a has available resources to perform the search. The computer system 14a may have available resources, for example, when the computer system 14a is idling. In this case, the computer system 14a of the plurality of computer systems 14 may display a screen saver on the video monitor (not shown) when the search is being performed. In the alternative, the computer system 14a may send a signal Sa to the primary computer system 12 when the computer system 14a of the plurality of computer systems 14 has resources available for searching a set of files. In this case, the primary computer system 12 will send the first signal S1 to the client computer system 14a upon receipt of the availability signal Sa. It is apparent that the primary computer system 12 can send the first signal S1 to more than just one computer system 14a of the plurality of computer systems 14. Moreover, the primary computer system 12 can send the first signal S1 to each computer system 14a to 14d of the plurality of computer systems 14 periodically and on a continuous basis. In addition, the first signal S1 can be sent either unilaterally by the primary computer system 12, or, the first signal S1 can be sent in response to an availability signal Sa from one of the client computer systems 14a to 14d. Preferably, the first signals S1 sent to each client computer system 14 will indicate different sets of files for each of the computer systems 14a to 14d to search. More
[14" class="description-paragraph] 14 preferably, each of the first signals S1 sent to each of the computer systems 14a to 14d will indicate a set of files that previously contained information of interest to the user of the computer system 14a to 14d receiving each of the first signals S1. In this way, if the search performed by each of the computer systems 14a to 14d indicates a change in the information contained in a file 2, the computer systems 14a to 14d that performed the search would be aware of the change as soon as possible, thereby giving a benefit to the user of the computer system 14a to 14d performing the search. Prior to the primary computer system 12 sending the first signal S1 to any one of the plurality of client computer systems 14, and prior to any one of the plurality of computer systems 14 sending an availability signal Sa, it is preferred that the primary computer system 12 upload to the plurality of computer systems 14 computer-executable instructions to permit each of the plurality of client computer systems 14 to perform the search. It is understood that the computer-executable instructions need not be uploaded to each and every client computer system 14 connected to the network 8. Rather, the computer-executable instructions need only be uploaded to the plurality of computer systems 14 whose users have previously agreed to permit their computer systems 14 to be used by the primary computer system 12 to search files in the network 8. At the same time, the users of the plurality of computer systems 14 can download to the primary computer system 12 relevance criteria for the corresponding user of the computer system 14 which can be stored in the relevance engine 24. A monetary fee may be charged by the operators of the primary computer system 12 to store the relevance criteria of a user and send the third signal S3 to the computer system 14 of the user. This can provide revenues for the operators of 5 the primary computer system 12. However, it is apparent that operators of the primary computer system 12 will require users to permit their computer systems 14 to be used for searching. Therefore, in order to encourage users to permit their computer systems 14 to be used to perform the search, the 10 users of the computer systems 14 may receive the third signal S3 indicating updates to files in which the users have indicated an interest on a no-fee basis, or a smaller-fee basis, than other users that do not permit their computer systems 14 to perform the search. This provides a monetary
[15" class="description-paragraph] 15 incentive to users of the plurality of computer systems 14 to permit their computer systems 14 to be used to perform searches. In a preferred embodiment, rather than the second signal SZ being sent from one of the client computer systems 14a to 14d directly to the primary computer system 12, the second signal S2 may be sent to a remotely located broker 20r. For example, Figure 1 shows the computer system 14d sending a second signal, indicated as SZd, to the network 8. Rather than the second signal SZd being sent directly to the primary computer system 12, it is sent first to the remotely located broker 20r. This would be preferred, for example, in cases where the client computer system 14d is located proximate the remotely located broker 20r but distant the primary computer system 12. This would be the case, for example, if the
[16" class="description-paragraph] 16 primary computer system 12 was located in North America, but both the client computer system 14d and the remotely located broker 20r were located in Europe. In this way, the remotely located broker 20r can receive and store the second signal SZd from the computer system 14d in a remotely located index database 16r. The remotely located broker 20r can then store or cache second signals SZ from several client computer systems 14 located proximate the remotely located broker 20r and send all of the information to the primary computer system 12 when traffic on the network 8 is low and it is convenient for both the remotely located broker 20r and the primary computer system 12 to do so. Furthermore, in a preferred embodiment, the remotely located broker 20r can send third signals S3d indicative of the updated information to each of the client computer systems 14 which are located proximate the remotely located broker 20r. For example, if the remotely located broker 20r was located in Europe, the remotely located broker 20r may send the third signals S3 to each of the client computer systems 14 also located in Europe. This would decrease the amount of traffic on the network 8, as well as decrease the time required for the third signal S3 to be sent to each of the client computer systems 14 located proximate the remotely located broker 20r. This is illustrated in Figure 1 by the remotely located broker 20r sending the third signal S3d to the computer system 14d. The first signal S1 indicates a first set of files selected by the foreman 22. The predetermined criteria used by
[17" class="description-paragraph] 17 the foreman 22 to select the set of files can be any type of criteria preferred by the developers and operators of the primary computer system 12. In a preferred embodiment, the predetermined criteria will comprise whether or not the files 2 in the first set of files previously contained information of interest to the user of the computer system 14 to which the first signal S1 is being sent. This is done to ensure that the user's computer system 14 is used to obtain information regarding files 2 of interest to the user. Additional criteria may include whether or not the files 2 were recently searched. In this way, the primary computer system 12 will not continuously search the same files 2 in the network 8. For example, the foreman 22 may exclude from the set of files a file 2 which has been searched in a predetermined time period, such as 30 minutes, one hour or two hours. The predetermined time period may be selected by the developer and programmer of the primary computer system 12 and depending on the needs of the users. It is apparent that, as the foreman 22 selects the set of files to be searched by all of the computer systems 14, the foreman 22 can co-ordinate the searching performed by each of the client computer systems 14. Accordingly, if file 2a was recently searched by computer system 14a, the foreman 22 will not include file 2a in a set of files to be searched by any of the computer systems 14a, 14b, 14c, 14d for a predetermined time period. Thus, the foreman 22 can efficiently use the resources available by the client computer systems 14, as well as ensure that a particular file 2a is not needlessly searched
[18" class="description-paragraph] 18 too frequently, thereby decreasing the efficiency of the server 6a upon which the file 2a is stored. A further criteria which may be included in the predetermined criteria is whether or not the files 2 are located proximate the computer system 14 to which the first signal S1 is being sent. For example, if the file 2a is located in a server 6a which is physically located in Japan, the foreman 22 will likely send first signal S1 indicating a set of files which includes the file 2a, to a computer system 14a which is also located in Japan. In this way, the search performed by the computer system 14a will be more efficient and less time consuming. Furthermore, in the preferred embodiment where the network 8 is the Internet I, this will assist in decreasing congestion on the Internet I. A further criteria included in the predetermined criteria may be whether or not the file 2a is located on a busy server 6a. This can be determined by predicating the time required to receive information regarding the file 2a from the server 6a based on past searches. The time required to receive information from a file 2a may form part of information included in the second signal S2 to the primary computer system 12. If the time predicted to receive the file 2a is more than a predetermined amount of time, such as an average of the time to receive files 2 from all servers 6, then the foreman 22 is less likely to include the file 2a in a set of files to be searched. In this way, servers 6 which are busy will not be searched as often, which decreases traffic on the server 6, and, prevents the client computer system 14a from waiting an
[19" class="description-paragraph] 19 inordinate period of time to search files 2 on a busy server 6. Figure 2 shows a more detailed schematic drawing of the primary computer system 12 according to a further preferred embodiment of the invention. As shown in Figure 2, the primary computer system 12 comprises a connection 18 to the network 8, an index database 16, a foreman 22, a broker 20 and a relevance engine 24, similar to the corresponding components shown in the primary computer system 12 in Figure 1. However, Figure 2 also shows the internal signals of the primary computer system 12. For example, Figure 2 shows the set of file signals PsFi indicative of the set of files being sent from the foreman 22 to the connection 18. The connection 18 then converts the set of file signals PsFi into the first signal S1 destined for a particular one 14a to 14d of the plurality of client computer systems 14. Figure 2 further illustrates the internal second signal PS2 being sent from the connection 18 to the broker 20. The internal second signal PSZ corresponds to the second signal SZreceived by the connection 18 from one of the plurality of client computer systems 14. The internal second signal PS2 reflects information in the second signal SZ, but is in a format which the broker 20 can use. The broker 20 receives the internal second signal PSZ and generates an internal update signal PST which is sent to the index database 16. The internal update signal PSU is used to update the information in the index database 16 based on information contained in the second signal SZ which is also reflected in the internal second signal Psa In a similar manner, the broker 20 sends the internal 5 update signal Ps~ to the relevance engine 24. The relevance engine 24 receives the internal update signal Ps~ from the broker 20. The internal update signal PsU reflects the information contained in the second signal SZ and indicates the updates made to the index database 16, and is used by the 10 relevance engine 24 to determine which updates indicated by the update signal PsU satisfy relevance criteria of corresponding users. The relevance engine 24 then generates an internal third signal Ps3a indicative of the updates made to the index database 16 which satisfies relevance criteria for 15 corresponding users, such as the user of computer system 14a. The internal third signal Ps3a is sent to the connection 18 to be sent to the corresponding computer system 14, which in this example would be computer system 14a.
[20" class="description-paragraph] 20 In the preferred embodiment illustrated in Figure 2, the internal third signal Pssa is first sent to a formatter 26 connected to the relevance engine 24. The formatter 26 receives the internal signal Pssa and formats the third signal to a format understood by the client computer system 14 to which the third signal S3 is destined. In the example illustrated in Figure 2, the internal third signal Pssa is destined for computer system 14a, and accordingly, the formatter 26 will convert the internal third signal Pssa to a third signal S3a destined for client computer system 14a and
[21" class="description-paragraph] 21 having a format which can be understood by client computer system 14a. In the preferred embodiment illustrated in Figure 2, the primary computer system 12 further comprises a doler 30 and a watcher 32. The doler 30 is connected to the broker 20 and receives the internal update signal PsU which reflects the information contained in the second signal SZ and the internal second signal Ps2, and, also indicates updates made to the index database 16. The doler 30 generates pointer signals PPs based on the internal update signal PsU. The pointer signals PPS identify information in the index database 16 which has been updated by the update signal PsU based on the second signal Ps2. The pointer signals PPS are also received by the watcher 32. The watcher 32 determines which information identified by the pointer signals PPS satisfy relevance criteria for corresponding users based on relevance criteria stored in the relevance engine 24. If the watcher 32 determines some of the information identified by the pointer signals PPS satisfy the relevance criteria for a corresponding user, the watcher 32 will generate an internal pointer update signal PPU which is sent to the relevance engine 24 and which the relevance engine 24 uses to generate the internal third signal Pssa that is sent to the formatter 26. Figure 3 illustrates some of the steps 100 in the method of the present invention discussed above. As shown in Figure 3, a preliminary step 102 comprises uploading to at least one 14a of the plurality of client systems 14 computer-executable instructions to permit the at least one client computer system
[22" class="description-paragraph] 22 14a to perform the search. Optionally, preliminary step 102 could also include the step of downloading relevance criteria from the at least one computer system 14a to the primary computer system 12. The relevance criteria would indicate information which would be of interest to the user of the computer system 14a. The next step 104 is sending the first signal S1 to one 14a of the plurality of computer systems 14. As discussed above, the first signal S1 can either be sent unilaterally by the primary computer system 12, or, the first signal S1 can be sent in response to an availability signal Sa from the computer system 14a. It is understood that other criteria and arrangements can be used to determine when the first signal S1 is sent to the computer system 14a and under what circumstances. The next step 106 is performed by the computer system 14a. The step 106 is the searching step performed by the computer system 14a to whom the first signal S1 has been sent.The computer system 14a will search the set of files indicated by the first signal S1. After completing the search as shown in step 108, the client computer system 14a will send a second signal SZ indicative of information obtained from the search of the set of files back to the primary computer system 12. In step 110, after receiving the second signal S2, the primary computer system updates the index database 16 based on the second signal SZ.
[23" class="description-paragraph] 23 In step 112, the primary computer system 12 determines what information in the index database 16 was updated by the information contained in the second signal S2 and generates and sends a third signal S3 indicative of the information which was updated. The third signal S3 can be sent to each and every computer system 14. However, preferably, the third signal S3 is sent only to the computer systems 14 having users that previously indicated an interest in the files that were updated. In step 114, the steps 104 to 112 are repeated for all of the client computer systems 14. In other words, steps 104 to 112 will be continuously performed as the primary computer system 12 deems fit, and, depending on the availability of the client computer systems 14. It is understood that the primary computer system 12 will send the first signal S1 continuously and repeatedly to each of the computer systems 14 to which the computer-executable instructions have been previously uploaded and based on their availability and the predetermined criteria. It is also understood that in each case, the set of files identified by the first signal S1 will be different and will be selected by the foreman 22 based on the predetermined criteria as outlined above. It is understood that reference to signals, such as Sa, S1, S2, S3 could include any type of signal that can indicate the required information. In particular, the signals Sa, S1, S2, S3 could be digital, analogue or other types of signals and may be electrical, photonic or quantum. The signals Sa, S1, S2, S3 could also be any type of format which the network 8 can
[24" class="description-paragraph] 24 transmit. Likewise, it is understood that the signals internal to the primary computer system 12, such as PsFi. Psu and Ps3a, can be any type of signal which can indicate the desired information and be conveyed within the primary computer system 12. It will be understood that, although various features of the invention have been described with respect to one or another of the embodiments of the invention, the various features and embodiments of the invention may be combined or used in conjunction with other features and embodiments of the invention as described and illustrated herein. Although this disclosure has described and illustrated certain preferred embodiments of the invention, it is to be understood that the invention is not restricted to these particular embodiments. Rather, the invention includes all embodiments which are functional or mechanical equivalents of the specific embodiments and features that have been described and illustrated herein.
权利要求:
Claims (19)
[1] 1. A method for searching files in a network, said network having a primary computer system and a plurality of client computer systems connected thereto, said method comprising the steps of:said primary computer system sending a first signal to at least one of the plurality of computer systems, said first signal indicating a set of files;said at least one of the plurality of client computer systems searching the set of files indicated by the first signal and sending a second signal to the primary computer system indicative of information obtained from the search of the set of files; and said primary computer system receiving the second signal and updating a database having stored thereon information regarding the files in the network based on the second signal.
[2] 2. A method as defined in claim 1 further comprising the steps of:determining what information regarding the files was updated by the second signal; and sending a third signal indicative of information regarding the files which were updated to each of the client computer systems having previously indicated an interest in the files which were updated.
[3] 3. A method as defined in claim 1 further comprising the steps of:said at least one of the plurality of client computer systems determining when the at least one of the plurality of client computer systems has available resources for searching the set of files; and said at least one of the plurality of client computer systems searching the set of files when said at least one of the plurality of client computer systems has available resources for performing the search.
[4] 4. A method as defined in claim 3 further comprising the step of:said at least one of the plurality of client computer systems determining it has available resources if the at least one of the plurality of client computer systems is idle.
[5] 5. A method as defined in claim 2 further comprising the step of:said at least one of the plurality of client computer systems sending the second signal destined for the primary computer system to a broker system;said broker system sending the second signal to the primary computer system and updating a broker database having stored therein information regarding the files in the network based on the second signal; and said broker sending the third signal indicative of the updated information to each of the client computer systems having users that previously indicated an interest in the files which were updated.
[6] 6. A method as defined in claim 1 wherein the network is the Internet, the files are stored on Web servers located on the Internet and the set of files indicated by the first signal comprise Uniform Resource Locators (URL) of files.
[7] 7. A method as defined in claim 6 wherein the set of files indicated by the first signal have previously contained information of interest to a user of the at least one of the plurality of computer systems.
[8] 8. A method as defined in claim 7 further comprising the steps of:said primary computer system sending first signals to more than one of the plurality of computer systems, each of the first signals uniquely indicating a set of files that previously contained information of interest to a user of the computer system receiving each of the first signals;each of said more than one of the plurality of computer systems searching the set of files indicated by the first signal and sending second signals to the primary computer system indicative of information obtained from the search of the set of files; and said primary computer system receiving the second signals from said more than one of the plurality of computer systems and updating the database having stored therein information regarding the files in the network based on the second signals.
[9] 9. A method as defined in claim 1 further comprising the step of:prior to said primary computer system sending the first signal, the primary computer system has uploaded to the one of the plurality of client computer systems computer-executable instructions to permit the at least one of the plurality of client computer systems to perform the search.
[10] 10. The method as defined in claim 1 further comprising the steps of:said primary computer system determining which files are to be included in the set of files based on criteria selected from the group consisting of (i) whether said file previously contained information of interest to a user of the at least one of the plurality of computer systems;(ii) whether the file was recently searched;(iii) whether the file is proximate the at least one of the plurality of the computer systems in the network; and (iv) whether a time predicted to receive the file is more than a predetermined amount of time.
[11] 11. A system for searching files in a network, said network having a plurality of client computer systems connected thereto, said system for searching comprising:a connection to the network for sending and receiving signals to and from said plurality of computer systems;an index database having an index of information previously contained in selected files in the network; a foreman for selecting sets of files based on predetermined criteria and sending signals to the connection indicative of the selected sets of files;wherein said foreman selects a first set of files based on the predetermined criteria and sends a first signal indicative of the first set of files to the connection;wherein the connection sends the first signal to at least one of the plurality of computer systems;wherein the at least one of the plurality of computer systems receives the first signal, searches the first set of files and sends to the connection a second signal indicative of information obtained from the search; and wherein the connection receives the second signal and the index database is updated based on information contained in the second signal.
[12] 12. The system as defined in claim 11 wherein the predetermined criteria are selected from the group consisting of: (i) whether said files previously contained information of interest to a user of the at least one of the plurality of computer systems;(ii) whether the files were recently searched;(iii) whether the files are proximate the at least one of the plurality of the computer systems in the network;and (iv) whether a time predicted to receive the file is more than a predetermined amount of time.
[13] 13. The system as defined in claim 11 wherein the network is the Internet, the files are stored on Web servers located on the Internet and the set of files indicated by the first signal comprise Uniform Resource Locators (URL) of files.
[14] 14. The system as defined in claim 11 further comprising:a broker connected to the connection and the index database, said broker receiving the second signal and updating the index database based on information contained in the second signal.
[15] 15. The system as defined in claim 14 further comprising:a relevance engine connected to the broker and containing relevance criteria for corresponding users of some of the plurality of client computer systems;wherein the relevance engine receives from the broker the information contained in the second signal and determines which updates satisfy relevance criteria of corresponding users;wherein the relevance engine generates third signals indicative of the updates made to the database which satisfies relevance criteria for the corresponding user; and wherein the third signals are sent to each of the corresponding users indicating updates to the index database which satisfy the relevance criteria of the corresponding user.
[16] 16. The system as defined in claim 15 further comprising:a doler connected to the broker for receiving information contained in the second signal and indicating updates made to the index database and generating pointer signals identifying information in the index database which has been updated based on the second signal;a watcher connected to the relevance engine and the doler for receiving the pointer signals and determining which information identified by the pointer signals satisfy relevance criteria for users; and wherein the relevance engine generates the third signal indicating information identified by the pointer signals which satisfy the relevance criteria for the corresponding user.
[17] 17. The system as defined in claim 16 further comprising:a formatter connected to the relevance engine and the connection for receiving the third signal and formatting the third signal to a format understood by the client computer system to which the third signal is destined.
[18] 18. The system as defined in claim 11 wherein the at least one of the plurality of computer systems is selected from a subset of the plurality of client computer systems;wherein computer-executable instructions to permit the subset of the plurality of client computer systems to perform the search are previously uploaded to each computer system in the subset of client computer systems.
[19] 19. The system as defined in claim 11 wherein the predetermined criteria used by the foreman for selecting the sets of files include whether the files previously contained information of interest to the user of the at least one client computer system to which the first signal is being sent.
类似技术:
公开号 | 公开日 | 专利标题
US9355177B2|2016-05-31|Web crawler scheduler that utilizes sitemaps from websites
US6061686A|2000-05-09|Updating a copy of a remote document stored in a local computer system
US5761683A|1998-06-02|Techniques for changing the behavior of a link in a hypertext document
US5978828A|1999-11-02|URL bookmark update notification of page content or location changes
US6105028A|2000-08-15|Method and apparatus for accessing copies of documents using a web browser request interceptor
US7523173B2|2009-04-21|System and method for web page acquisition
JP3762828B2|2006-04-05|Method, apparatus, and storage medium storing program for efficiently distributing data to a plurality of users
US7257583B2|2007-08-14|System and method for updating an on-device application catalog in a mobile device receiving a push message from a catalog server indicating availability of an application for download
US5991760A|1999-11-23|Method and apparatus for modifying copies of remotely stored documents using a web browser
US6418453B1|2002-07-09|Network repository service for efficient web crawling
EP1082651B1|2003-01-29|Incremental updating
KR101145083B1|2012-05-11|Federated search implemented across multiple search engines
US5802299A|1998-09-01|Interactive system for authoring hypertext document collections
EP2013787B1|2019-08-21|Generating specialized search results in response to patterned queries
US7363291B1|2008-04-22|Methods and apparatus for increasing efficiency of electronic document delivery to users
US20030154282A1|2003-08-14|Methods and apparatus for downloading and/or distributing information and/or software resources based on expected utility
JP3347914B2|2002-11-20|Data management device
WO2006069083A2|2006-06-29|System and method for generating a search index and executing a context-sensitive search
US7499958B1|2009-03-03|Systems and methods of replicating all or part of a data store
EP1239388A1|2002-09-11|Event-driven information display system and event-driven information display method
US6883020B1|2005-04-19|Apparatus and method for filtering downloaded network sites
JP2993434B2|1999-12-20|Distributed hypermedia system
JP4741301B2|2011-08-03|Information search system, information search device, information search method, recording medium, and program
US20010051975A1|2001-12-13|Distributed searching system and searching apparatus for use in the distributed searching system
JP3998794B2|2007-10-31|Browsing client server system
同族专利:
公开号 | 公开日
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2006-06-15| FZDE| Dead|
优先权:
申请号 | 申请日 | 专利标题
US51138100A| true| 2000-02-23|2000-02-23||
US09/511,381||2000-02-23||
[返回顶部]